17 research outputs found

    mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesis

    Full text link
    MLIR is an emerging compiler infrastructure for modern hardware, but existing programs cannot take advantage of MLIR's high-performance compilation if they are described in lower-level general purpose languages. Consequently, to avoid programs needing to be rewritten manually, this has led to efforts to automatically raise lower-level to higher-level dialects in MLIR. However, current methods rely on manually-defined raising rules, which limit their applicability and make them challenging to maintain as MLIR dialects evolve. We present mlirSynth -- a novel approach which translates programs from lower-level MLIR dialects to high-level ones without manually defined rules. Instead, it uses available dialect definitions to construct a program space and searches it effectively using type constraints and equivalences. We demonstrate its effectiveness \revi{by raising C programs} to two distinct high-level MLIR dialects, which enables us to use existing high-level dialect specific compilation flows. On Polybench, we show a greater coverage than previous approaches, resulting in geomean speedups of 2.5x (Intel) and 3.4x (AMD) over state-of-the-art compilation flows for the C programming language. mlirSynth also enables retargetability to domain-specific accelerators, resulting in a geomean speedup of 21.6x on a TPU

    mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesis

    Get PDF
    MLIR is an emerging compiler infrastructure for modern hardware, but existing programs cannot take advantage of MLIR’s high-performance compilation if they are described in lower-level general purpose languages. Consequently, to avoid programs needing to be rewritten manually, this has led to efforts to automatically raise lower-level to higher-level dialects in MLIR. However, current methods rely on manually-defined raising rules, which limit their applicability and make them challenging to maintain as MLIR dialects evolve. We present mlirSynth – a novel approach which translates programs from lower-level MLIR dialects to high-level ones without manually defined rules. Instead, it uses available dialect definitions to construct a program space and searches it effectively using type constraints and equivalences. We demonstrate its effectiveness by raising C programs to two distinct high-level MLIR dialects, which enables us to use existing high-level dialect specific compilation flows. On Polybench, we show a greater coverage than previous approaches, resulting in geomean speedups of 2.5x (Intel) and 3.4x (AMD) over state-of-the-art compilation flows. mlirSynth also enables retargetability to domain-specific accelerators, resulting in a geomean speedup of 21.6x on a TPU

    Rewriting History: Repurposing Domain-Specific CGRAs

    Full text link
    Coarse-grained reconfigurable arrays (CGRAs) are domain-specific devices promising both the flexibility of FPGAs and the performance of ASICs. However, with restricted domains comes a danger: designing chips that cannot accelerate enough current and future software to justify the hardware cost. We introduce FlexC, the first flexible CGRA compiler, which allows CGRAs to be adapted to operations they do not natively support. FlexC uses dataflow rewriting, replacing unsupported regions of code with equivalent operations that are supported by the CGRA. We use equality saturation, a technique enabling efficient exploration of a large space of rewrite rules, to effectively search through the program-space for supported programs. We applied FlexC to over 2,000 loop kernels, compiling to four different research CGRAs and 300 generated CGRAs and demonstrate a 2.2×\times increase in the number of loop kernels accelerated leading to 3×\times speedup compared to an Arm A5 CPU on kernels that would otherwise be unsupported by the accelerator

    Combining Isotope Dilution and Standard Addition—Elemental Analysis in Complex Samples

    No full text
    A new method combining isotope dilution mass spectrometry (IDMS) and standard addition has been developed to determine the mass fractions w of different elements in complex matrices: (a) silicon in aqueous tetramethylammonium hydroxide (TMAH), (b) sulfur in biodiesel fuel, and (c) iron bound to transferrin in human serum. All measurements were carried out using inductively coupled plasma mass spectrometry (ICP–MS). The method requires the gravimetric preparation of several blends (bi)—each consisting of roughly the same masses (mx,i) of the sample solution (x) and my,i of a spike solution (y) plus different masses (mz,i) of a reference solution (z). Only these masses and the isotope ratios (Rb,i) in the blends and reference and spike solutions have to be measured. The derivation of the underlying equations based on linear regression is presented and compared to a related concept reported by Pagliano and Meija. The uncertainties achievable, e.g., in the case of the Si blank in extremely pure TMAH of urel (w(Si)) = 90% (linear regression method, this work) and urel (w(Si)) = 150% (the method reported by Pagliano and Meija) seem to suggest better applicability of the new method in practical use due to the higher robustness of regression analysis

    Guided post-acceleration of laser-driven ions by a miniature modular structure

    Get PDF
    All-optical approaches to particle acceleration are currently attracting a significant research effort internationally. Although characterized by exceptional transverse and longitudinal emittance, laser-driven ion beams currently have limitations in terms of peak ion energy, bandwidth of the energy spectrum and beam divergence. Here we introduce the concept of a versatile, miniature linear accelerating module, which, by employing laser-excited electromagnetic pulses directed along a helical path surrounding the laser-accelerated ion beams, addresses these shortcomings simultaneously. In a proof-of-principle experiment on a university-scale system, we demonstrate post-acceleration of laser-driven protons from a flat foil at a rate of 0.5 GeV m(−1), already beyond what can be sustained by conventional accelerator technologies, with dynamic beam collimation and energy selection. These results open up new opportunities for the development of extremely compact and cost-effective ion accelerators for both established and innovative applications
    corecore